Page({
  /**
   * 页面的初始数据
   */
  data: {
    //放数据
     list:[],
    // 列表数据
    homelist:[],
    // 索引
    active:0,
    page: 1, // 当前页码（默认第一页）
    num: 10, // 每页加载数量 （根据接口）
    hasMore: true, // 是否还有更多数据
    isLoading: false // 是否正在加载（防止重复请求）
   },
  // 跳转详情页
  goToDetail(event){
     const {id,cid}=event.currentTarget.dataset
      // 这里的data就是包含id和cid的对象，直接存储
       const data = { id, cid }; 
      //  通过id找到对应的数据
      let idlist=this.data.homelist.filter(item=>item.id==data.id)
      // 核心修改：读取本地已有历史，避免覆盖，实现多条存储
      let oldHistory = wx.getStorageSync('key') || []; // 1. 读旧记录（无则空数组）
     oldHistory = oldHistory.filter(item => item.id != data.id); // 2. 去重：删除同id旧记录
    oldHistory.unshift(...idlist); // 3. 追加新记录到最前面（最新的在首位）
     if (oldHistory.length > 20) oldHistory.pop(); // 4. 可选：限制最大条数（如20条）
      // 存储到本地
    wx.setStorageSync('key',oldHistory)
    wx.navigateTo({
      url: `/pages/Detail/Xiang?id=${id}&cid=${cid}`,
    })
     }, 
  //  onChange切换tab
  // 切换tab时更新active
  onChange(e) {
     // 1. 从事件对象的detail中获取真正的标签索引
     const currentIndex = e.detail.index;
    this.setData({ active:currentIndex }, () => {
       // 可选：切换回第0个标签时，若没数据可重新加载
      if (currentIndex === 0 && this.data.homelist.length === 0) {
        console.log(index);
        this.getList();
      }
    });
  },
 
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.getDate()
    // 2. 修正：通过this.data.active获取active，条件成立则加载新闻
     this.getList();
    },

    handleRefresh() {
      // 1. 开始刷新：显示动画
      this.setData({ isRefreshing: true });
  
      // 2. 模拟2秒刷新过程（不涉及数据更新）
      setTimeout(() => {
        // 3. 刷新结束：关闭动画，触发自动回弹
        this.setData({ isRefreshing: false });
      }, 2000); // 固定2秒后结束
    },
   
    


  
   // 调取接口  自定义函数
   getDate(){
    wx.request({
      url: 'https://tea.qingnian8.com/api/qingnews/category',
      method:'GET',
      header:{
        'access-key':"437634"
      },
      success:res=>{
        // console.log(res.data.data);
        // 渲染数据将数据存入data中  使用箭头函数确保指向当前实例
        this.setData({
         list:res.data.data
        })
      }
    })
  },
   
  

  // 调取列表数据
  getList(){
     // 标记正在加载
   this.setData({ isLoading: true });
    wx.request({
      url: 'https://tea.qingnian8.com/api/qingnews/newslist',
      method:'GET',
      header:{
        'access-key':"437634"
      },
        // 新增分页参数，告诉接口要第几页、每页多少条
      data: {
      page: this.data.page, // 当前页码
      num: this.data.num // 每页条数
      },
      success:res=>{
        // console.log(res.data.data);
        const newData = res.data.data || []; // 接口返回的新数据
      // 累加数据（旧数据 + 新数据）
      const totalList = this.data.homelist.concat(newData);

      // 判断是否还有更多数据（如果返回的新数据少于每页条数，说明没有更多了）
      const hasMore = newData.length >= this.data.num;
         // 更新页面数据
      this.setData({
        homelist: totalList,
        hasMore: hasMore,
        isLoading: false // 加载完成
      });
      }
    })
  },

  onReachBottom: function () {
    // 阻止重复加载（正在加载中 或 没有更多数据时，不执行）
    if (this.data.isLoading || !this.data.hasMore) return;
  
    // 页码+1，加载下一页
    this.setData({ page: this.data.page + 1 }, () => {
      this.getList(); // 调用列表接口加载下一页
    });
 
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
    
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
    
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
    
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    
  },

/**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
    
  }
})